package simplemaven2.vt.validators;

import ru.chezclif.lern.conread.Preconditions;
import javax.faces.application.FacesMessage;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.validator.Validator;
import javax.faces.validator.ValidatorException;
import java.util.ResourceBundle;

/**
 * Класс, созданный для валидации полей конфига
 * @author Vit
 */
public class PropertyConfigValidator implements Validator {

    /**
     * Тут происходит проверка строки на допустимое количество символов и на null
     */
    public void validate(FacesContext facesContext, UIComponent uiComponent, Object o) throws ValidatorException {
        Preconditions.notNull(facesContext, uiComponent, o);
        String configName = (String) o;
        if (configName.length() > 50) {
            ResourceBundle bundle=ResourceBundle.getBundle("simplemaven2.vt.localisation.validationmessages",facesContext.getExternalContext().getRequestLocale());
            String validateMessage="";
            validateMessage=bundle.getString("toolongstring");
            if(!validateMessage.equals("")){
            FacesMessage message = new FacesMessage(validateMessage);
            message.setSeverity(FacesMessage.SEVERITY_ERROR);
            facesContext.addMessage("userForm:Email", message);
            throw new ValidatorException(message);
            }
        }
    }
}

